// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See Vtop.h for the primary calling header

#include "Vtop.h"
#include "Vtop__Syms.h"

//==========

VerilatedContext* Vtop::contextp() {
    return __VlSymsp->_vm_contextp__;
}

void Vtop::eval_step() {
    VL_DEBUG_IF(VL_DBG_MSGF("+++++TOP Evaluate Vtop::eval\n"); );
    Vtop__Syms* __restrict vlSymsp = this->__VlSymsp;  // Setup global symbol table
    Vtop* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp;
#ifdef VL_DEBUG
    // Debug assertions
    _eval_debug_assertions();
#endif  // VL_DEBUG
    // Initialize
    if (VL_UNLIKELY(!vlSymsp->__Vm_didInit)) _eval_initial_loop(vlSymsp);
    // Evaluate till stable
    int __VclockLoop = 0;
    QData __Vchange = 1;
    do {
        VL_DEBUG_IF(VL_DBG_MSGF("+ Clock loop\n"););
        vlSymsp->__Vm_activity = true;
        _eval(vlSymsp);
        if (VL_UNLIKELY(++__VclockLoop > 100)) {
            // About to fail, so enable debug to see what's not settling.
            // Note you must run make with OPT=-DVL_DEBUG for debug prints.
            int __Vsaved_debug = Verilated::debug();
            Verilated::debug(1);
            __Vchange = _change_request(vlSymsp);
            Verilated::debug(__Vsaved_debug);
            VL_FATAL_MT("vsrc/top.v", 461, "",
                "Verilated model didn't converge\n"
                "- See https://verilator.org/warn/DIDNOTCONVERGE");
        } else {
            __Vchange = _change_request(vlSymsp);
        }
    } while (VL_UNLIKELY(__Vchange));
}

void Vtop::_eval_initial_loop(Vtop__Syms* __restrict vlSymsp) {
    vlSymsp->__Vm_didInit = true;
    _eval_initial(vlSymsp);
    vlSymsp->__Vm_activity = true;
    // Evaluate till stable
    int __VclockLoop = 0;
    QData __Vchange = 1;
    do {
        _eval_settle(vlSymsp);
        _eval(vlSymsp);
        if (VL_UNLIKELY(++__VclockLoop > 100)) {
            // About to fail, so enable debug to see what's not settling.
            // Note you must run make with OPT=-DVL_DEBUG for debug prints.
            int __Vsaved_debug = Verilated::debug();
            Verilated::debug(1);
            __Vchange = _change_request(vlSymsp);
            Verilated::debug(__Vsaved_debug);
            VL_FATAL_MT("vsrc/top.v", 461, "",
                "Verilated model didn't DC converge\n"
                "- See https://verilator.org/warn/DIDNOTCONVERGE");
        } else {
            __Vchange = _change_request(vlSymsp);
        }
    } while (VL_UNLIKELY(__Vchange));
}

VL_INLINE_OPT void Vtop::_sequent__TOP__1(Vtop__Syms* __restrict vlSymsp) {
    VL_DEBUG_IF(VL_DBG_MSGF("+    Vtop::_sequent__TOP__1\n"); );
    Vtop* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp;
    // Variables
    CData/*7:0*/ __Vdly__top__DOT__M_Clk_Divider__DOT__cnt;
    CData/*0:0*/ __Vdly__top__DOT__M_Clk_Divider_clk_div;
    // Body
    __Vdly__top__DOT__M_Clk_Divider__DOT__cnt = vlTOPp->top__DOT__M_Clk_Divider__DOT__cnt;
    __Vdly__top__DOT__M_Clk_Divider_clk_div = vlTOPp->top__DOT__M_Clk_Divider_clk_div;
    if (vlTOPp->reset) {
        __Vdly__top__DOT__M_Clk_Divider__DOT__cnt = 0U;
        __Vdly__top__DOT__M_Clk_Divider_clk_div = 0U;
    } else if ((0x31U > (IData)(vlTOPp->top__DOT__M_Clk_Divider__DOT__cnt))) {
        __Vdly__top__DOT__M_Clk_Divider__DOT__cnt = 
            (0xffU & ((IData)(1U) + (IData)(vlTOPp->top__DOT__M_Clk_Divider__DOT__cnt)));
        __Vdly__top__DOT__M_Clk_Divider_clk_div = vlTOPp->top__DOT__M_Clk_Divider_clk_div;
    } else {
        __Vdly__top__DOT__M_Clk_Divider_clk_div = (1U 
                                                   & (~ (IData)(vlTOPp->top__DOT__M_Clk_Divider_clk_div)));
        __Vdly__top__DOT__M_Clk_Divider__DOT__cnt = 0U;
    }
    vlTOPp->top__DOT__M_Clk_Divider__DOT__cnt = __Vdly__top__DOT__M_Clk_Divider__DOT__cnt;
    vlTOPp->top__DOT__M_Clk_Divider_clk_div = __Vdly__top__DOT__M_Clk_Divider_clk_div;
}

VL_INLINE_OPT void Vtop::_sequent__TOP__3(Vtop__Syms* __restrict vlSymsp) {
    VL_DEBUG_IF(VL_DBG_MSGF("+    Vtop::_sequent__TOP__3\n"); );
    Vtop* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp;
    // Variables
    VlWide<7>/*223:0*/ __Vtemp2;
    VlWide<7>/*223:0*/ __Vtemp3;
    // Body
    vlTOPp->__Vdly__top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg 
        = vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg;
    vlTOPp->top__DOT__M_Core__DOT__io_out_Ena_out_REG 
        = vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__io_out_Ena_out_REG;
    __Vtemp2[0U] = 0xaaaaaaaaU;
    __Vtemp2[1U] = 0xaaaaaaaaU;
    __Vtemp2[2U] = 0xaaaaaaaaU;
    __Vtemp2[3U] = 0xaaaaaaaaU;
    __Vtemp2[4U] = 0xaaaaaaaaU;
    __Vtemp2[5U] = 0xaaaaaaaaU;
    __Vtemp2[6U] = 0x2aaaaU;
    VL_SHIFTR_WWI(210,210,8, __Vtemp3, __Vtemp2, (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_in));
    vlTOPp->top__DOT__M_Core__DOT__io_out_Data_in_REG 
        = (1U & __Vtemp3[0U]);
    vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_REG_3 
        = vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_REG_2;
    if (vlTOPp->reset) {
        vlTOPp->__Vdly__top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg = 0U;
    } else if (vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___T) {
        if ((0xd2U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_in))) {
            vlTOPp->__Vdly__top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg = 2U;
        }
    } else if (vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___T_1) {
        if ((4U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_delay))) {
            vlTOPp->__Vdly__top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg = 3U;
        }
    } else {
        vlTOPp->__Vdly__top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg 
            = ((IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___T_2)
                ? (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___GEN_13)
                : (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___GEN_16));
    }
    vlTOPp->top__DOT__M_Core__DOT__the_clk_in = (((1U 
                                                   == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
                                                  | ((2U 
                                                      != (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
                                                     & ((3U 
                                                         != (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
                                                        & (4U 
                                                           == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg))))) 
                                                 & (IData)(vlTOPp->top__DOT__M_Core__DOT__the_clock_M_Clk_Divider__DOT__the_clk));
    vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_out_REG 
        = (((1U != (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
            & ((2U != (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
               & (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___GEN_3))) 
           & (~ (IData)(vlTOPp->top__DOT__M_Core__DOT__the_clock_M_Clk_Divider__DOT__the_clk)));
    vlTOPp->top__DOT__M_Core__DOT__the_clock_M_Clk_Divider__DOT__the_clk 
        = (1U & ((~ (IData)(vlTOPp->reset)) & (~ (IData)(vlTOPp->top__DOT__M_Core__DOT__the_clock_M_Clk_Divider__DOT__the_clk))));
    vlTOPp->io_out_Ena_out = vlTOPp->top__DOT__M_Core__DOT__io_out_Ena_out_REG;
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__io_out_Ena_out_REG 
        = vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__the_ena_out;
    vlTOPp->io_out_Data_in = vlTOPp->top__DOT__M_Core__DOT__io_out_Data_in_REG;
    vlTOPp->io_out_Clk = vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_REG_3;
    vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_REG_2 
        = vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_REG_1;
    vlTOPp->io_out_Clk_in = vlTOPp->top__DOT__M_Core__DOT__the_clk_in;
    vlTOPp->io_out_Clk_out = vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_out_REG;
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk_clock 
        = (1U & (~ (IData)(vlTOPp->top__DOT__M_Core__DOT__the_clock_M_Clk_Divider__DOT__the_clk)));
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__the_ena_out 
        = ((1U != (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
           & ((2U != (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
              & (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___GEN_3)));
    vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_REG_1 
        = vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_REG;
    vlTOPp->top__DOT__M_Core__DOT__io_out_Clk_REG = vlTOPp->top__DOT__M_Core__DOT__the_ena_in;
    vlTOPp->top__DOT__M_Core__DOT__the_ena_in = ((1U 
                                                  != (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
                                                 & ((2U 
                                                     == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
                                                    | (3U 
                                                       == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg))));
    vlTOPp->io_out_Ena_in = vlTOPp->top__DOT__M_Core__DOT__the_ena_in;
}

VL_INLINE_OPT void Vtop::_sequent__TOP__4(Vtop__Syms* __restrict vlSymsp) {
    VL_DEBUG_IF(VL_DBG_MSGF("+    Vtop::_sequent__TOP__4\n"); );
    Vtop* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp;
    // Body
    if (vlTOPp->reset) {
        vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_in = 0U;
        vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_delay = 0U;
        vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_out = 0U;
        vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_enable = 0U;
    } else {
        vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_in 
            = ((1U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg))
                ? (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT___count_clk_in_T_1)
                : 0U);
        vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_delay 
            = ((2U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg))
                ? (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT___count_clk_delay_T_1)
                : 0U);
        vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_out 
            = ((4U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg))
                ? (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT___count_clk_out_T_1)
                : 0U);
        vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_enable 
            = ((3U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg))
                ? (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT___count_clk_enable_T_1)
                : 0U);
    }
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT___count_clk_in_T_1 
        = (0xffU & ((IData)(1U) + (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_in)));
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT___count_clk_delay_T_1 
        = (0xffU & ((IData)(1U) + (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_delay)));
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT___count_clk_out_T_1 
        = (0xffU & ((IData)(1U) + (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_out)));
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT___count_clk_enable_T_1 
        = (0xffU & ((IData)(1U) + (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_enable)));
}

VL_INLINE_OPT void Vtop::_sequent__TOP__5(Vtop__Syms* __restrict vlSymsp) {
    VL_DEBUG_IF(VL_DBG_MSGF("+    Vtop::_sequent__TOP__5\n"); );
    Vtop* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp;
    // Body
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg 
        = vlTOPp->__Vdly__top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg;
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___T 
        = (1U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg));
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___T_1 
        = (2U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg));
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___T_2 
        = (3U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg));
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___GEN_3 
        = ((3U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)) 
           | (4U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg)));
}

VL_INLINE_OPT void Vtop::_multiclk__TOP__6(Vtop__Syms* __restrict vlSymsp) {
    VL_DEBUG_IF(VL_DBG_MSGF("+    Vtop::_multiclk__TOP__6\n"); );
    Vtop* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp;
    // Body
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___GEN_13 
        = ((2U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_enable))
            ? 4U : (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg));
    vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT___GEN_16 
        = ((4U == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg))
            ? ((0x7eU == (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk__DOT__count_clk_out))
                ? 0U : (IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__stateReg))
            : 1U);
}

void Vtop::_eval(Vtop__Syms* __restrict vlSymsp) {
    VL_DEBUG_IF(VL_DBG_MSGF("+    Vtop::_eval\n"); );
    Vtop* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp;
    // Body
    if ((((IData)(vlTOPp->clock) & (~ (IData)(vlTOPp->__Vclklast__TOP__clock))) 
         | ((IData)(vlTOPp->reset) & (~ (IData)(vlTOPp->__Vclklast__TOP__reset))))) {
        vlTOPp->_sequent__TOP__1(vlSymsp);
    }
    if (((IData)(vlTOPp->__VinpClk__TOP__top__DOT__M_Clk_Divider_clk_div) 
         & (~ (IData)(vlTOPp->__Vclklast__TOP____VinpClk__TOP__top__DOT__M_Clk_Divider_clk_div)))) {
        vlTOPp->_sequent__TOP__3(vlSymsp);
        vlTOPp->__Vm_traceActivity[1U] = 1U;
    }
    if (((IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk_clock) 
         & (~ (IData)(vlTOPp->__Vclklast__TOP__top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk_clock)))) {
        vlTOPp->_sequent__TOP__4(vlSymsp);
        vlTOPp->__Vm_traceActivity[2U] = 1U;
    }
    if (((IData)(vlTOPp->__VinpClk__TOP__top__DOT__M_Clk_Divider_clk_div) 
         & (~ (IData)(vlTOPp->__Vclklast__TOP____VinpClk__TOP__top__DOT__M_Clk_Divider_clk_div)))) {
        vlTOPp->_sequent__TOP__5(vlSymsp);
        vlTOPp->__Vm_traceActivity[3U] = 1U;
    }
    if ((((IData)(vlTOPp->__VinpClk__TOP__top__DOT__M_Clk_Divider_clk_div) 
          & (~ (IData)(vlTOPp->__Vclklast__TOP____VinpClk__TOP__top__DOT__M_Clk_Divider_clk_div))) 
         | ((IData)(vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk_clock) 
            & (~ (IData)(vlTOPp->__Vclklast__TOP__top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk_clock))))) {
        vlTOPp->_multiclk__TOP__6(vlSymsp);
    }
    // Final
    vlTOPp->__Vclklast__TOP__clock = vlTOPp->clock;
    vlTOPp->__Vclklast__TOP__reset = vlTOPp->reset;
    vlTOPp->__Vclklast__TOP____VinpClk__TOP__top__DOT__M_Clk_Divider_clk_div 
        = vlTOPp->__VinpClk__TOP__top__DOT__M_Clk_Divider_clk_div;
    vlTOPp->__Vclklast__TOP__top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk_clock 
        = vlTOPp->top__DOT__M_Core__DOT__M_PUF_Core__DOT__M_Count_Clk_clock;
    vlTOPp->__VinpClk__TOP__top__DOT__M_Clk_Divider_clk_div 
        = vlTOPp->top__DOT__M_Clk_Divider_clk_div;
}

VL_INLINE_OPT QData Vtop::_change_request(Vtop__Syms* __restrict vlSymsp) {
    VL_DEBUG_IF(VL_DBG_MSGF("+    Vtop::_change_request\n"); );
    Vtop* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp;
    // Body
    return (vlTOPp->_change_request_1(vlSymsp));
}

VL_INLINE_OPT QData Vtop::_change_request_1(Vtop__Syms* __restrict vlSymsp) {
    VL_DEBUG_IF(VL_DBG_MSGF("+    Vtop::_change_request_1\n"); );
    Vtop* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp;
    // Body
    // Change detection
    QData __req = false;  // Logically a bool
    __req |= ((vlTOPp->top__DOT__M_Clk_Divider_clk_div ^ vlTOPp->__Vchglast__TOP__top__DOT__M_Clk_Divider_clk_div));
    VL_DEBUG_IF( if(__req && ((vlTOPp->top__DOT__M_Clk_Divider_clk_div ^ vlTOPp->__Vchglast__TOP__top__DOT__M_Clk_Divider_clk_div))) VL_DBG_MSGF("        CHANGE: vsrc/top.v:481: top.M_Clk_Divider_clk_div\n"); );
    // Final
    vlTOPp->__Vchglast__TOP__top__DOT__M_Clk_Divider_clk_div 
        = vlTOPp->top__DOT__M_Clk_Divider_clk_div;
    return __req;
}

#ifdef VL_DEBUG
void Vtop::_eval_debug_assertions() {
    VL_DEBUG_IF(VL_DBG_MSGF("+    Vtop::_eval_debug_assertions\n"); );
    // Body
    if (VL_UNLIKELY((clock & 0xfeU))) {
        Verilated::overWidthError("clock");}
    if (VL_UNLIKELY((reset & 0xfeU))) {
        Verilated::overWidthError("reset");}
}
#endif  // VL_DEBUG
